Skip to content

fix: configure Kubernetes DNS search domains in mesh - #539

Open
Sam6734 wants to merge 3 commits into
interlink-hq:mainfrom
Sam6734:mesh-dns
Open

fix: configure Kubernetes DNS search domains in mesh#539
Sam6734 wants to merge 3 commits into
interlink-hq:mainfrom
Sam6734:mesh-dns

Conversation

@Sam6734

@Sam6734 Sam6734 commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

The Dask workers could start their WireGuard tunnels, but they could not resolve the Kubernetes name of the Dask scheduler. The mesh script treated a DNS configuration filename as a search domain. They eventually failed with:

OSError: Timed out trying to connect to tls://dask-daskclusterid.cmsaf-dev:8786 after 30 s

This change removes the LOCALDOMAIN override and places k8s CoreDNS before the host and public DNS servers in /etc/resolv.conf. Workers can now resolve and connect to the scheduler, while retaining their existing DNS servers as fallbacks.

Signed-off-by: Sam <55770131+Sam6734@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 14, 2026 14:34
@netlify

netlify Bot commented Jul 14, 2026

Copy link
Copy Markdown

Deploy Preview for interlink-dev ready!

Name Link
🔨 Latest commit 5e20665
🔍 Latest deploy log https://app.netlify.com/projects/interlink-dev/deploys/6a69ad43bbccb6000846d8fb
😎 Deploy Preview https://deploy-preview-539--interlink-dev.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot couldn't run its full agentic review because no GitHub Actions runner was available. Make sure your repository has a runner available to run Copilot's review, or add a copilot-setup-steps.yml file specifying one with the runs-on attribute. See the docs for more details.

Fixes DNS resolution for Dask workers in the mesh by ensuring Kubernetes CoreDNS is preferred over host/public resolvers and by removing an incorrect LOCALDOMAIN override that interfered with name resolution.

Changes:

  • Reorders /etc/resolv.conf to place Kubernetes DNS ({{.DNSServiceIP}}) before the host DNS entry.
  • Removes the LOCALDOMAIN export and the associated temporary resolv.conf generation that incorrectly set a filename as a search domain.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 90 to 95
mkdir -p /tmp/etc-override
echo "search default.svc.cluster.local svc.cluster.local cluster.local" > /tmp/etc-override/resolv.conf
echo "nameserver $HOST_DNS" >> /tmp/etc-override/resolv.conf
echo "nameserver {{.DNSServiceIP}}" >> /tmp/etc-override/resolv.conf
echo "nameserver $HOST_DNS" >> /tmp/etc-override/resolv.conf
echo "nameserver 1.1.1.1" >> /tmp/etc-override/resolv.conf
echo "nameserver 8.8.8.8" >> /tmp/etc-override/resolv.conf
Sam6734 and others added 2 commits July 14, 2026 10:53
Signed-off-by: Sam <55770131+Sam6734@users.noreply.github.com>
Signed-off-by: Diego Ciangottini <dciangot@cern.ch>
@dciangot

Copy link
Copy Markdown
Member

Hi @Sam6734 , thank you for contributing! I'm resolving a conflict with a previous PR, meanwhile, can I ask you what is the use case for having a full mesh connectivity with dask? We are interested to know, since most of the cases we are aware of, are fine with just portforwarding the head node ports.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants